﻿<?php
class DataAccess
{
    static private $db;  
	private $query;

	// para uso no cefet
	//const mysql_host = "192.168.1.125";
	//const mysql_host = "mysql.ifal.edu.br";
	//const mysql_database = "saeo2";
	//const mysql_user = "saeo";
	//const mysql_password = "W6hKrHvjWEc6PMh2";
	const mysql_host = "localhost";
	const mysql_database = "saeo2";
	const mysql_user = "root";
	const mysql_password = "";
	
      private function __construct()
      {
               mysql_pconnect( self::mysql_host, self::mysql_user, self::mysql_password) or
                             die("Não foi possível conectar: " . mysql_error());
               $r = mysql_select_db( self::mysql_database );
			   mysql_set_charset("utf8"); 
               return $r;
      }
      /*
      Metodo que entrega a conex�o com o banco de dados para as classes DAO
      @return - instancia da classe DataAccess
      */
      static public function getConnection()
      {
      		if( !isset(self::$db) )
      		{
      			self::$db = new DataAccess();
      			return self::$db;
      		}
      		else
      		{
      			return self::$db;
      		}	
      }
      
      public function setDb()
      {
            $db = mysql_select_db( self::mysql_database );
      		return $db;
      }
      
      /*
      Efetua uma instru��o DML (Data Manipulation Language) ou uma consulta no banco
      @sql - instru��o SQL para comandos DML
      @return - Caso seja uma instru��o de DML, ser� retornado TRUE (caso tenha sucesso) ou FALSE (caso n�o tenha sucesso)
      @return - Caso seja uma instru��o de consulta, ser� retornado o resource (caso tenha sucesso) ou FALSE (caso n�o tenha sucesso)
      */
      public function Fetch($sql)
      {			
      		$this->setDb();
			$this->query = mysql_query( $sql );                        
			return $this->query;
      }
      
      /*
      Retorna o resultado da �ltima consulta SQL efetuada
      @return - Retorna o resultado da consulta efetuada, consultar www.php.net/mysql_fetch_array para verificar quais s�o os poss�veis resultados.
      */
      public function getRow()
      {
         $rows_array = array();
         while ( $row = mysql_fetch_array( $this->query ) )
         {
               $rows_array[] = $row;
         }
         return $rows_array;
         
      }
      /*
      Retorna o ID do �ltimo item inserido no banco de dados
      @return - Retorna o �ltimo Id inserido no banco.
      */
      public static function getId()
      {
               return mysql_insert_id();
      }
      
}

?>